The present invention relates generally to the field of computing environments. In particular, the present invention relates to portable or mobile computing within the context of a network in which a computing environment may be migrated to a computer that is connectable to the network for providing a user with a consistent computing environment.
Historically, computers were large and expensive processors that were sited at special premises and that few could afford to own and maintain, respectively. To obtain benefit from the then powerful computing and processing capabilities of a computer of the past, a user had to access the premises where the computer is sited and take multiple steps and procedures that are unique to the computer in order to operate the computer.
Currently, through technological evolution, one of the successors of these large and expensive computers is a small and affordable notebook computer. More importantly, however, such a notebook computer may provide computing power with the ability to execute complex formulae involving large numbers at high processing speeds. Such an evolution in computing technology is made possible partially because of the advent of integrated circuit technology that enables the integration of electronic circuits into small electronic devices. The advancement of technology and related skills in manufacturing and software programming and/or engineering also contributes to this evolution.
The evolution of computer technology also significantly impacts the evolution of network technology. Modern network technology allows users who are connected to a network to share resources that are connected to the network. Currently, networks can either cover a small geographical area, such as a local area network (LAN), or a wide geographical area, such as the coverage provided by the Internet. Recognising the market potential of coupling modern computing technology that provides for small, portable, and powerful computers, and the wide coverage of the Internet, the computer industry has placed many modern computing products and services of sorts on the computer marketplace.
One example of such products and services currently being commercialized is based on the concept of mobile computing with minimal local storage usage. This means that modern mobile computer manufacturers can leverage off the implementation of minimal local storage such as the local hard disk, therefore accentuating the compactness of modem mobile computers. The modern mobile computer can therefore be dedicated to, for example, communications and image processing.
Another example of the products and services currently being commercialized is based on the concept of a xe2x80x9cmobilexe2x80x9d user. The mobile user is not necessarily a computer user who uses a modern mobile computer. Rather, the mobile user can also refer to one that hops from computer to computer within a xe2x80x9cboundaryxe2x80x9d defined by a network to which the mobile user subscribes or is connectable. The mobile user thus performs work with whichever computer the mobile user accesses within the network.
When any computer user uses a computer, the computer user is basically dealing with a set or sets of information through the computer""s processor. Generally, the information is found on a local storage device such as the local hard disk or a storage medium such as a CD ROM. However, the information may also reside on a remote storage which is accessible through a network. Regardless of the storage location, the mobile user fundamentally requires that the computer provides a means of storing and/or retrieving the information that the mobile user deals with. For example, when the mobile user hops from computer to computer, the computer user may either use floppy diskettes, CD ROMs, card memories, or any other form of storage medium for providing the information that the mobile user is dealing with. To minimize the use of such storage media that need to be transported, remote storage may be used. When the mobile user wishes to access a remote storage, the mobile user is required to connect to another computer controlling the remote storage either directly or through a network. Such a network could either cover a small geographical area such as a LAN, or a wide geographical area such as the Internet.
In both examples, there appears to exist advantages to using remote storage for the above reasons of either improving the compactness of the modem mobile computer or lessening the need to transport the above mentioned storage media.
Currently, some Internet-based products or services such as Web portals to which a computer user may subscribe provides an account with an electronic mailbox, a personal starting Web page, and a file directory. These can be accessed from any computer the subscriber uses as long as a Web browser application program and an Internet link are available on that computer. All the subscriber needs to do is to login to the Web portal account and thus is able to use the mailbox or access a file from the file directory that is provided by the account. This is a very useful concept of providing computer users with access to the same information and resources at all times regardless of whether the computer users are at home, in the office, or travelling. This idea is made possible only through remote storage access.
However, one shortcoming that exists with a Web portal product or service is that basically a Web portal account is accessible only through a Web Browser. This means that the Web portal account is distinct from the subscriber""s other local network or remote access accounts that may exist at the office, on the home computer, and with any Internet service provider. Only the email component of the Web portal account may be integrated with the subscriber""s other accounts using protocols such as POP3 or IMAP. A practical consequence of this is that a data file cannot be opened directly if the required program is installed on another account. Instead, such a file has to be moved manually to that account first. Another shortcoming is that the subscriber has to work with different environment settings, shortcuts, directory structures, and the like, when the subscriber works on the different accounts from the different computers. Such are components of a computing environment that includes the xe2x80x9clook and feelxe2x80x9d of the user interface, file access, directory access, and execution of application program of a computer.
In an attempt to overcome one or more of the above problems, conventional methods exist in the marketplace. One such conventional method addresses the problem of locating files residing on different file directories of different accounts by using file attributes. From the file attributes, it can be determined if for example a requested file is located on the local storage of the computer or on a remote storage. If the file attribute of a file indicates that the requested file is stored on the remote storage, a file system driver in the operating system of the computer passes control to high level drivers to continue processing the request as an input/output (I/O) request. However, such a conventional method does not address the problem adequately because only remote storage supported by communications protocols congruent with the communications protocols supported by the operating system is accessible. Moreover, such a conventional method does not specifically address the other problems.
Another conventional method addresses the problem of accessing different resources on the Web through overwriting shared libraries used by application programs on the computer. This however implies that such a conventional method cannot support application programs that utilize static libraries. Hence, the application of such a conventional method is restricted to access of files by application programs that utilize only shared libraries. Moreover, such a conventional method also does not address the problem adequately because there is no provision to access remote storage on a file server. This conventional method also does not specifically address other problems.
A further conventional method addresses the problem of accessing files through a distributed server environment by use of a central file management device or system that maintains a virtual file management table for indicating the virtual identification (ID) and the physical location of files. Requests originating from application programs for files are directed from the central file management system to the appropriate server based on the actual physical location of the files. This conventional method however involves additional hardware, software, firmware, and the like for providing the central file management system. This implies additional cost and effort on implementation of such a conventional method, which is not desirable. Also, this conventional method does not specifically address the other problems.
It is clear from the above prior art and conventional methods that a need exists for an adequate solution to at least one or a combination of the problems disclosed. The desirable effects of this solution should provide a means to integrate the environment settings, application programs and files of accounts belonging to a subscriber so that a consistent computing environment is achieved. This consistent computing environment should be attachable to and detachable from any computer a computer user is using, regardless of the location of the computer as long as the computer is connectable to a network that provides the appropriate resources.
Various aspects of the invention are directed to ameliorating or overcoming at least one or a combination of the above disadvantages or inadequacies of prior art and conventional methods. In particular, it is desirable to provide portable or mobile computing within the context of a network wherein a computing environment may be migrated to any computer that is connectable to the network for providing a user with a consistent computing environment. It is also desirable to provide a consistent computing environment according to a dynamically adaptable communications protocol that allows transparent connectivity to Web resources, file servers and the like. It is further desirable to provide a consistent computing environment wherein the information regarding files stored on remote storage is self-contained within the computer.
In accordance with a first aspect of the invention there is disclosed a computing system for enabling the migration of a mobile computing environment thereto to provide a consistent computing environment for a user, the computing system being connectable to remote storage and having a local computing environment, an operating system, and a local storage, the computing system including: means for mapping a user-interface portion of the mobile computing environment onto the local computing environment using information transferred from said remote storage being connected to the system, the mapping means being actuable by the user; a file system in the operating system for receiving and translating requests for performing file operations on the local storage; and means for monitoring and intercepting a request made to the file system for operation on a file, the request being actuable by the mapped user-interface and the file being stored on said remote storage being connected to the system.
In accordance with a second aspect of the invention there is disclosed a method of migrating a mobile computing environment to a computing system for providing a consistent computing environment for a user, the computing system being connectable to remote storage and having a local computing environment, an operating system, and a local storage, the method including the steps of: mapping a user-interface portion of the mobile computing environment onto the local computing environment, the step including transferring information stored on said remote storage being connected to the computing system, and using the transferred information for mapping the user-interface, the step of mapping being actuated by the user; receiving and translating requests in a file system in the operating system for performing file operations on the local storage; and monitoring and intercepting a request made to the file system for operation on a file, the request being actuated by the mapped user-interface and the file being stored on said remote storage being connected to the computing system.
In accordance with a third aspect of the invention there is disclosed a computer program product for providing a consistent computing environment for a user, including: a computer usable medium having computer readable program code means embodied in the medium for causing migration of a mobile computing environment to a computing system, the computing system being connectable to remote storage and having a local computing environment, an operating system, and a local storage, the computer program product having: computer readable program code means for mapping a user-interface portion of the mobile computing environment onto the local computing environment, further including computer readable program code means for transferring information stored on said remote storage being connected to the computing system, and computer readable program code means for using the transferred information for mapping the user-interface, the step of mapping being actuated by the user; computer readable program code means for receiving and translating requests in a file system in the operating system for performing file operations on the local storage; and computer readable program code means for monitoring and intercepting a request made to the file system for operation on a file, the request being actuated by the mapped user-interface and the file being stored on said remote storage being connected to the computing system.
In accordance with a fourth aspect of the invention there is disclosed a computing system for enabling the migration of a mobile computing environment thereto, the computing system being connectable to remote storage and having an operating system that provides a local user-interface and controls a local storage, the computing system including an arbitrator means in the operating system for arbitrating access to files, directories, and information for locating and accessing the files and directories; an account manager means communicable with the arbitrator means and the remote storage for mapping a user-interface portion of the mobile computing environment onto the local user-interface using information stored on the remote storage; a file system in the operating system for receiving and translating requests for performing file operations on the local storage; and a file monitor means for intercepting a request made to the file system for operation on a file, wherein the request is actuated through the mapped local user-interface and the file is stored on the remote storage, and redirecting the request to the remote storage.